package br.com.senac.academicnet.model.entidades;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Column;
//import javax.persistence.Transient;

@Entity
@Table(name = "turmas")
public class TurmaVO implements Serializable{
    

	/**
	 * 
	 */
	private static final long serialVersionUID = 1081072907185954078L;

	@Id
    @GeneratedValue
    private int codigo;
    
    @Column(nullable = false)
    private String nome;
    
    @ManyToOne
    @JoinColumn(name = "curso", nullable = false)
    private CursoVO curso;
    
	public CursoVO getCurso() {
		return curso;
	}

	public void setCurso(CursoVO curso) throws Exception {
		if(curso != null){
			this.curso = curso;
		}else{
			throw new Exception("Curso deve ser informado.");
		}
	}

	/**
     * @return the codigo
     */
    public int getCodigo() {
        return codigo;
    }

    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) throws Exception {
        if(nome.length() > 0){
            this.nome = nome;
        }else{
            throw new Exception("Nome deve ser informado.");
        }
    }
    
    @Override
    public String toString(){
        return getCodigo() + ";" + getNome() + ";" + getCurso().getCodigo() + ";";
    }
    
}
